package main

import (
	"fmt"
)

func main() {
	//1,1,2,3,5,8
	result := test(10)
	fmt.Println(result)

	//第二题
	fmt.Println("-----第二题----")
	fmt.Println("f(1)=", test2(1))
	fmt.Println("f(5)=", test2(5))

	//---第三题---
	fmt.Println("-----第三题----")
	dayNum := 1
	fmt.Printf("第%v天的猴子的桃子数量: %v\n", dayNum, test3(dayNum))
}

func test(n int) int {
	if n == 1 || n == 2 {
		return 1
	}
	return test(n-1) + test(n-2)
}

func test2(n int) int {
	if n == 1 {
		return 3
	}
	return 2*test2(n-2) + 1
}

//猴子吃桃问题
// 思路倒推，总结公式和规则
// 第10天1个，第九天是 ((第10天+1))*2
func test3(n int) int {
	if n > 10 || n < 1 {
		fmt.Println("输入有误")
		return 0
	}
	if n == 10 {
		return 1
	}
	return (test3(n+1) + 1) * 2
}
